Configuring Renderables
ugLayout uses the ConfiguredRenderable class as a way to associate configuration between a Renderable and it's configuration. Most built in renderables contain static method named configure. This method returns a ConfiguredRenderable instance that contains the provided config and Renderable class.
Layout.configure({
child: Row
});
// Is equal to
new ConfiguredRenderable(Layout, {
child: Row
})
Anywhere something requires a RenderableArg You can provide a Renderable, a ConfiguredRenderable or an instance of a Renderable.
Resolving Renderables and Configuration
If you are creating Renderables from a RenderableArg you can use the resolve and resolveConfiguration static methods on the ConfiguredRenderable class to resolve them.
const layoutConfig = Layout.configure({ child: Row });
const layoutInstance = new Layout();
ConfiguredRenderable.resolve(layoutConfig); // => Layout
ConfiguredRenderable.resolve(Layout); // => Layout
ConfiguredRenderable.resolve(layoutInstance); // => Layout
ConfiguredRenderable.resolveConfiguration(layoutConfig); // => { child: Row }